package com.hengyu.data.validator.factory.validators;

import com.hengyu.data.validator.exception.ValidatorException;

import java.lang.reflect.Field;

/**
 * ========================
 * Created with IntelliJ IDEA.
 * User：恒宇少年
 * Date：2017/3/19
 * Time：22:27
 * 码云：http://git.oschina.net/jnyqy
 * ========================
 */
public class NotEmptyValidator implements Validator{

    /**
     * 验证字段是否为空
     * @param field 验证字段反射对象
     * @param object 字段所在对象实体
     * @return
     * @throws Exception
     */
    public boolean validate(Field field, Object object) throws Exception {
        if(field == null)
        {
            throw new ValidatorException("未找到验证反射对象");
        }
        //设置读取private字段
        field.setAccessible(true);
        //获取字段的值
        Object fieldValue = field.get(object);
        //当字段不为空并且长度不等于0时返回true
        return fieldValue != null && fieldValue.toString().length() > 0;
    }
}
